package cn.tedu.csmall.product.mapper;

import cn.tedu.csmall.product.pojo.entity.AttributeTemplate;
import cn.tedu.csmall.product.pojo.vo.AttributeTemplateListItemVO;
import cn.tedu.csmall.product.pojo.vo.AttributeTemplateStandardVO;

import java.util.List;

/**
 * 进行AttributeTemplate表中数据操作
 * @author 程旭东
 */
public interface AttributeTemplateMapper {
    /**
     * 向属性模板中插入数据
     * @param attributeTemplate 传入属性模板对象
     * @return
     */
    int insert(AttributeTemplate attributeTemplate);

    /**
     * 根据Id删除属性模板的数据
     * @param id 传入需要删除的数据的Id
     * @return
     */
    int deleteById(Long id);

    /**
     * 返回属性模板总数
     * @return
     */
    int count();


    /**
     * 返回Id查询的数据
     * @param id
     * @return
     */
    AttributeTemplateStandardVO selectById(Long id);

    /**
     * 从属性模板中查找所有数据
     * @return
     */
    List<AttributeTemplateStandardVO> list();

    /**
     * 向属性模板数据库中批量插入数据
     * @param attributeTemplates
     * @return
     */
    int insertBatch(List<AttributeTemplateListItemVO> attributeTemplates);

    /**
     * 从数据库中查询模板名称是否唯一
     * @param name
     * @return
     */
    int countByName(String name);
}
